在前面章節中,我們已經寫過 2 個 hello world作業,接下來要將 hello world 呈現在瀏覽器上
回顧 as.xcf 的配置中,有APPLICATION_LIST區塊,可在內部指定觸發的作業。因此可利用此方式將已完成的 hello world 掛載到瀏覽器上 (注意需使用 MENU版。若使用背景DISPLAY版,訊息會掉入 fastcgidispatch 的 LOG 內)
微調一下,加上 基本指令 介紹的ARG_VAL
MAIN
  DEFINE ls_title STRING
  #加上參數的 hello world
  LET ls_title = "Hello World! ",ARG_VAL(1)
  MENU ls_title
     ON ACTION exit
        EXIT MENU
  END MENU
END MAIN
執行時,可加上參數成為:
fglrun hello alex

打開您所維護的 as.xcf (若不清楚 as.xcf 可參考 GAS應用服務器的啟動 ),搜尋 gwc-demo,這一段 APPLICATION_LIST 是我們可以參考的樣本,複製一份如下
      <APPLICATION Id="ithelp" Parent="defaultwa">
        <EXECUTION>
          <PATH>/u1/topprd4/ithelp</PATH>  <!-- 檔案路徑 -->
          <MODULE>hello.42m</MODULE>       <!-- 執行作業 -->
        </EXECUTION>
      </APPLICATION>
設定完成後,重啟 GAS 服務(看是 httpdispatch 或 fastcgidispatch 重啟該服務即可)
重啟後,以瀏覽器連入 http://服務器ip:6394/ua/r/ithelp
(若為崁入式,綁定在 wtopprd4 路徑,則改為 http://服務器ip/wtopprd4/ua/r/ithelp )
說好的參數呢 ?
要打開參數接收的功能,需要將 as.xcf 做一下微調,增加 AllowUrlParameters="TRUE" 設定
      <APPLICATION Id="ithelp" Parent="defaultwa">
        <EXECUTION AllowUrlParameters="TRUE">
          <PATH>/u1/topprd4/ithelp</PATH>  <!-- 檔案路徑 -->
          <MODULE>hello.42m</MODULE>       <!-- 執行作業 -->
        </EXECUTION>
      </APPLICATION>
重啟後,在網址列上增加 ?Arg=alex 就可傳入參數
範例主機使用 linux (一般鼎新/鼎捷的 T 平台客戶環境),依照下列步驟
若每次均執行as.xcf的異動才能掛載程式,則表示當有新的作業時網站都必須相應停服務。這不是一個好方法,下列調整一下範例,讓服務不用重啟,只需要修改自己的部分即可使用
注意 !! 將之前新增的 APPLICATION 設定記得先清除掉
找尋範例『Id="idp"』並調整如下:(注意:idp只是參考範例,實際是新增下方一行)
      <!-- default group for external applications -->
      <GROUP Id="_default">$(res.path.app)</GROUP>
      <GROUP Id="idp">$(res.path.gip.starter)</GROUP>
      <GROUP Id="admin">$(res.path.idp.applications)</GROUP>
      <GROUP Id="ithelp">/u1/topprd4/ithelp</GROUP>  <!-- 新增本行 -->
調整完成後重新啟動服務。
此時在 fastcgidispatch新增虛擬路徑 ithelp 指向實體路徑 /u1/topprd4/ithelp
該路徑即為上述 hello world 程式的路徑 (該程式命名為 hello.4gl,編譯後為 hello.42m)
新增設定檔案 demo.xcf
<?xml version="1.0" encoding="UTF-8" ?>
<APPLICATION Parent="defaultgwc">
  <EXECUTION AllowUrlParameters="TRUE">
    <ENVIRONMENT_VARIABLE Id="FGLPROFILE" Concat="APPEND">/u1/genero4/fgl/etc/fglprofile</ENVIRONMENT_VARIABLE>
    <PATH>/u1/topprd4/ithelp</PATH>  <!-- 檔案路徑 -->
    <MODULE>hello.42m</MODULE>       <!-- 執行作業 -->
  </EXECUTION>
</APPLICATION>
設定完成後,就可以使用 http://服務器ip:6394/ua/r/ithelp/demo?Arg=alex 執行出如下畫面
至此,後續寫出來的各式 4GL 程式均應該可以在網頁上執行。